(__malloc_initialize): Remove pthread_once. Not needed.
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Tue, 7 Aug 2007 09:04:33 +0000 (09:04 +0000)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Tue, 7 Aug 2007 09:04:33 +0000 (09:04 +0000)
src/gmalloc.c

index b1f8513c5fb8573d4ab274799cf1f34fa039729c..ea6ccc4bf1f1d954bda190f35c6965bb6f4ea3d1 100644 (file)
@@ -582,7 +582,6 @@ register_heapinfo ()
 }
 
 #ifdef USE_PTHREAD
-static pthread_once_t malloc_init_once_control = PTHREAD_ONCE_INIT;
 pthread_mutex_t _malloc_mutex = PTHREAD_MUTEX_INITIALIZER;
 pthread_mutex_t _aligned_blocks_mutex = PTHREAD_MUTEX_INITIALIZER;
 int _malloc_thread_enabled_p;
@@ -656,18 +655,16 @@ malloc_initialize_1 ()
   return;
 }
 
-/* Set everything up and remember that we have.  */
+/* Set everything up and remember that we have.
+   main will call malloc which calls this function.  That is before any threads
+   or signal handlers has been set up, so we don't need thread protection.  */
 int
 __malloc_initialize ()
 {
-#ifdef USE_PTHREAD
-  pthread_once (&malloc_init_once_control, malloc_initialize_1);
-#else
   if (__malloc_initialized)
     return 0;
 
   malloc_initialize_1 ();
-#endif
 
   return __malloc_initialized;
 }